לשיה ספציפית ול ל שיה כללית חישוביות הרצאה 6 כונת טיורינג כונת טיורינג אוניברסלית פונקציות שאינן ניתנות לחישוב עד כה נקטנו בגישה שלכל שיה יש לבנות שלה שבצעת את השיה הספציפית הזו אך בציאות לא בונים חשב שונה לכל תכנית שרוצים לבצע לחילופין, בונים חשב אחד שסוגל לבצע כל שיה כאשר שיות שונות קודדות ע''י תכניות שונות שנותנים לחשב לבצע אי לכך, נרצה לבנות כונת טיורינג לטרה כללית אשר תדע לבצע כל שיה הקודדת ע' 'י כונת טיורינג אחרת הניתנת לה כקלט כדי שנוכל לסור כקלט ל אחרת, יש לתאר כל בצורה חד שעית ע' 'י חרוזת 2 כונת טיורינג השך נתאים לכל כונת טיורינג חרוזת ייחודית הקודדת אותה הקידוד יעשה עבור כונות טיורינג בעלות סרט אחד, M = (Q, q, F, Σ, Γ, b, / δ ) Q = {,2, K, נניח בלי הגבלת הכלליות: { Q רווח q = F = {2,3} Σ = {,} Γ = {,,2} הטרה: לייצג כל ע''י סידרה סופית של אפסים ואחדים לעשה, נשאר לקודד רק את δ (כל השאר נקבע בהנחות) יש לקודד את כל ( Q -2) Γ כניסות של טבלת העברים כאשר כל כניסה היא הצורה (p,τ,d) δ(q,σ) = M תקודד ע''י חרוזת δ δ 2δ 3Kδ ( Q 2) Γ כאשר כל δ i קודד כניסה אחת בטבלת העברים 4 3
השך הערות כל δ i קודד באופן הבא: אם הכניסה בטבלת העברים היא (p,τ,d) δ(q,σ) = אזי הקידוד יהיה 23 K 23 K 23 K 23 K 23 K d פעים + τפעים p פעים + σפעים q פעים עבור תזוזה,d=,L עבור תזוזה,d=2,R ועבור תזוזה d=3,s לדוגה, העבר (S,2,) (3,)δ = יקודד ע''י: סדר קידוד העברים אינו חשוב קיית שבודקת לגבי כל חרוזת של אפסים ואחדים האם החרוזת היא תיאור חוקי של כונת טיורינג הקידוד התואר תאים גם עבור לחישוב פונקציות וגם עבור לזיהוי שפות צורת הקידוד שבחרנו אינה יחידה, ניתן לקודד בדרכים אחרות ניתן לחשוב על כל חרוזת בינארית כייצוג של וסכה: חרוזת שאינה תיאור חוקי של ייצגת שעל כל קלט עוצרת ייד ודוחה (או עוצרת ייד עם פלט ריק) 6 5 דוגה השך הדוגה נבנה כונת טיורינג העוברת שלכל קלט * {,} x חליפה את האפס הראשון שאל באחד תיאור הכונה: ) b, M = (Q, q, F,,, Σ Γ / δ Q = {,2,3,4} q = F = {2,3} Σ = {,} Γ = {,,2( b)} / פונקצית העברים: δ (,) = (,,R) δ (,2) = (2,2,S) δ (4,) = (4,,R) δ (4,2) = (2,2,S) δ (,) = (4,, R) δ (4,) = (4,,R) הקידוד הסטנדרטי של הכונה: 8 7
הקידוד הסט נדרטי של קו נפ יגורציה רגעית קידוד סטנדרטי סיון הקידוד הסטנדרטי של M יסון ע''י <M> C = α α 2 Kα i qαi Kα m עבור הקונפיגורציה הקידוד הסטנדרטי הוא 23 K 23 K K 23 K 23 K 23 K K 23 K + αפעים + αפעים + αפעים + αפעים + αפעים q פעים 2 i- i m הקידוד הסטנדרטי של קונפיגורציה C יסון ע''י <C> 9 חישוב קונפיגורציה עוקבת (השך) חישוב קונפיגורציה עוקבת בהינתן, <M> וקידוד קונפיגורציה רגעית שלה <C> ניתן לחשב הי הקונפיגורציה העוקבת של C ב M בילים אחרות, נגדיר פונקציה <C> לא חוקית לא וגדר או C סופית <C`> C ac` NEXT(<M>, <C>) = M טענה: הפונקציה NEXT ניתנת לחישוב ע''י רעיון ההוכחה: נבנה M NEXT החשבת את הפונקציה NEXT הכונה M NEXT תהיה בעלת שני סרטים על הקלט <M><C> הכונה M NEXT פועלת באופן הבא: עתיק ה את <C> לסרט השני ובודקת את תקינותה של <C> אם <C> אינה חוקית, M NEXT תיכנס ללולאה אינסופית 2
הפונקציה האוניברסלית חישוב קונפיגורציה עוקבת (השך) הגדרה: הפונקציה האוניברסלית U הינה: הסברים: בודקת האם C קונפיגורציה סופית ע''י סריקת <C> עד ליקום הראש (אחרי ) ובדיקת הצב (צב סופי תאים ל- או ) אם C סופית, M NEXT תיכנס ללולאה אינסופית אם C תקינה ולא סופית, תסרוק את הסרט השני כדי לצוא צב נוכחי q והאות הנוכחית a חפשת בקידוד של <M> בסרט הראשון את הכניסה התאיה ל- δ(q,a) וגלה הו העבר הנדרש שנה את הקונפיגורציה הרשוה בסרט השני בהתאם לעבר הנדרש U(<M>,x) = f M (x) הפונקציה U היא פונקציה חלקית: אם על קלט x אזי U(<M>,x) אינה וגדרת M לא עוצרת אם M עוצרת על x אזי U(<M>,x) וגדרת ושווה לפלט של M על x 4 3 השך ההוכחה הפונקציה האוניברסלית (השך) שפט: הפונקציה האוניברסלית ניתנת לחישוב הוכחה: נבנה M U החשבת את הפונקציה U הכונה תהיה בעלת שלושה סרטים על קלט y = <M>x M U פועלת באופן הבא: חפשת את ובודקת האם תת חרוזת שלפני היא קידוד חוקי של כונת טיורינג אם הקידוד אינו חוקי אז לפי וסכה דובר ב שעוצרת ייד עם פלט ריק, אזי גם M U תעצור עם פלט ריק אם הקידוד חוקי,פרשת את הקטע שלפני כ-< M > ואת הקטע שאחרי כ- x רושת את הקידוד של קונפיגורציה התחלתית q x על הסרט השני כל עוד הקונפיגורציה הרשוה בסרט השני אינה סופית M U תחשב את NEXT(<M>,<C>) בסרט השני בעזרת הכונה אם התקבלה בסרט השני קונפיגורציה סופית, אז M U תזהה את הפלט (שאל ל- ) ותעתיק אותו לסרט השלישי אבחנה: אם M לא עוצרת על x אזי לא תתקבל לעולם קונפיגורציה סופית בסרט השני ולכן גם M U לא תעצור M NEXT 6 5
השפה האוניברסלית טיורינג כונת אוניברסלית הגדרה: כל כונת טיורינג אשר חשבת את הפונקציה U נקראת כונת טיורינג אוניברסלית הערות: לדוגה, הכונה M U שתיארנו בהוכחת השפט היא אוניברסלית הכונה M U היא לא אוניברסלית היחידה, יש אינסוף אוניברסליות אחרות שחשבות את אותה פונקציה U אוניברסלית קבלת כקלט קידוד של כונה כלשהי <M> וקלט x עבור M וחזירה את הפלט של M על x (אם וגדר) הגדרה: השפה האוניברסלית L U וגדרת באופן הבא: {M קב לת את L U = {(<M>,x) : x ניתן להראות באופן דוה להוכחת השפט האחרון כי ( L U RE ניתנת לקבלה ) כלור, L U 8 7 פונקציות שאינן ניתנות לחישוב תרגיל..2 תהי M U אוניברסלית האם הפלט של M U על קלט (<M>,x)) (<M U >, זהה לפלט של M U על קלט (<M>,x)? כן הסבר: הפלט של M U על (<M>,x) הוא פלט של M על x הפלט של M U על (<M>,x)) M>) U,< הוא הפלט של M U על (<M>,x) כלור, זהה ל- בהשך נראה דוגאות לפונקציות שאינן ניתנות לחישוב לדוגה, נראה ששום פונקציה לאה שרחיבה את הפונקציה האוניברסלית U אינה ניתנת לחישוב כאן נגיע לבעיה חשובה שאינה ניתנת להכרעה: בעית העצ ירה תחילה נשתכנע ע''י ניוקי ספירה שישנן הרבה פונקציות שאינן ניתנות לחישוב (לעשה, "רוב" הפונקציות) 2 9
ניוקי ספירה (השך) ניוקי ספירה טענה : ישנה התאה חד חד ערכית ועל בין הספרים השיים בקטע [,] לבין פונקציות בולאניות הוכחה: עבור ספר 3 r =.σ σ 2 σ נגדיר פונקציה f r באופן הבא : i f r (x i ) = σ כאשר x i היא החרוזת ה- i -ית בסדר לקסיקוגרפי קאנוני קל לוודא שזוהי התאה חד חד ערכית ועל טענה 2: ישנה התאה חד חד ערכית קבוצת כונות טיורינג לקבוצת החרוזות הבינאריות הוכחה: נתאים לכל חרוזת ב ינאר ית ש הי א הק ידוד הסט נדרטי של ה 22 2 הרחבה של פונקציה העצירה אוניברסלית ובעיית ניוקי ספירה (השך) סקנה הטענות ו- 2 : קבוצת הפונקציות הבולאניות אינה בת נייה ) כי קבוצת השיים בקטע [,] אינה בת נייה) קבוצת כונות טיורינג היא בת נייה (כי קבוצת החרוזות היא בת נייה) אבחנה: קבוצת הפונקציות הניתנות לחישוב ע''י אינה "גדולה" קבוצת כונות טיורינג ולכן בת נייה סקנה: יש הרבה יותר פונקציות שלא ניתנות לחישוב אשר פונקציות אשר ניתנות לחישוב הגדרה: פונקציה לאה f נקראת הרחבה של פונקציה חלקית g אם עבור כל x עליו g וגדרת תקיים f(x) = g(x) דוגה: g(x)=x/2 אם x זוגי ולא וגדרת אם x אי זוגי g היא ההרחבה של f(x)= x/2 24 23